The present invention relates to an interaction processing method and a program generating method, and in particular, to an interaction processing method capable of improving operability or usability of a computer and to a program generating method of automatically generating a program based on an interaction history.
Heretofore, there has been known an interaction processing scheme having a command recall function.
For example, as described in pages 324 and 325 of the "Common Lisp" written by Guy L. Steel Jr, an interaction processing routine of the Lisp (called a top-level loop) memorizes a previous command inputted from a key-in device and a result of an execution of the command, so that if the operator inputs
(eval +), PA0 (eval ++),
the command executed immediately therebefore can be executed again. Moreover, when the operator inputs
the second next command preceding the input operation can be re-executed.
Furthermore, a similar command recall function is also supported by interaction processing routines (interaction shells) in general-purpose operating systems such as the Unix and the MS-DOS.
On the other hand, software programs "MacroMaker" or "Tempo II" for the personal computer Macintosh includes command recall functions developed from the command recall functions above.
The command recall function thus developed is used in either one of a recording mode and a reproduction mode. In the recording mode, a sequence of key and/or mouse operations conducted by the operator are recorded; whereas, in the reproduction mode, the recorded key and/or mouse operations are reproduced.
The recorded key and/or mouse operations are called macros. The macros may be edited and stored in a storage e.g. on a disk so as to be arbitrarily read therefrom for the reproduction thereof.
That is, the macros function as a program and hence the developed command recall function may be regarded as a function to produce a program through an interaction processing.
According to a processing procedure generation processing method described in JP-A-63-131229 (1988), an interaction processing interpreter keeps a history of operations such as commands supplied from a user such that when the user thereafter specifies a necessary portion of the operation history, the specified portion is extracted to be processed for a generation of a processing procedure.
In accordance with a program language LIVE described in pages 9 to 17 of the "Digests of the 30th Programming Symposium", IEEE of Japan, January 1989 and in pages 80 to 85 of the "Proceedings of IEEE workshop on Visual Languages", 1989, there is provided a programming by example (PBE) function in which voice inputs are also memorized, in addition to the key inputs and mouse operations, so that the memorized items are processed to create a program for an execution thereof.
Moreover, according to a programming environment HI-VISUAL described in pages 34 to 41 of the "Proceedings of IEEE Workshop on Visual Languages, 1986 and in pages 139 to 146 of the "Digests of the Software Engineering Symposium", 58-18, February 1988, there is disposed a PBE function employing icons.
The HI-VISUAL displays icons representing programs and data items as parts or components of the program. When the operator selects and arranges icons associated with a program and data and then defines connective relationships between the icons, the HI-VISUAL creates the objective program. Furthermore, in the program generation process, a result of an execution of each part of the program is displayed by using icons. Referencing the displayed execution result, the operator can interactively produce a program.
That is, when program generation is started, the icons selected by the operator and the connective relationships therebetween are recorded along a flow of data. When the recording operation is completed, the acquired icons and the connective relationships are processed to create a program. During the program generation, the connective relationships between the icons may be edited.
However, the command recall functions in the Common Lisp, Unix, and MS-DOS, the modified command recall functions developed in the Macro Maker and Tempo II, and the PBE functions in the LIVE and HI-VISUAL are attended with the following problems.
(1) When many commands and values are supplied, it is impossible thereafter to directly specify an arbitrary one thereof. PA1 (2) Consequently, during a sequence of operations, an operation error cannot be left uncorrected, which imposes an extensive strain and carefulness on the operator. PA1 (3) A trial and error procedure cannot be employed at an intermediate point of the operation, which is inconvenient for the operator. PA1 (4) The system does not memorize a chaining relationship indicating a command execution sequence e.g. for a preceding command, the system cannot determine a command which uses the result of an execution of the preceding command. PA1 (5) The operator cannot trace a sequence of commands thus chained. PA1 (6) The operator is required to specify a necessary portion of the interaction history thus memorized. PA1 (a) sequentially inputting a plurality of commands selected by an operator to respectively specify processing to be executed and data to be used in the processing; PA1 (b) executing each input command prior to an input of a command subsequent thereto and for outputting data resultant from the execution of the command, PA1 (c) extracting from the plural input commands a sequence of several commands employed to generate at least a resultant data item selected by the operator from resultant data items respectively attained from the step PA1 (b) executed on the plural input commands; and PA1 (d) generating based on the extracted command sequence a program executing processing to be achieved by the command sequence or executing processing equivalent thereto. PA1 (a) displaying, in response to an input of a command specifying data different from data resultant from an execution of a command subsequent thereto, the subsequent command being selected from the plural commands supplied from an operator to respectively designate processing to be executed and data to be used in the processing, PA1 (b) displaying, in response to an input of a command by the operator to specify data resultant from an execution of one of the plural commands, the one command being preceding the command,
In consequence, the operator cannot easily obtain an intermediate item from a sequence of commands generated through an interaction processing so as to use the attained item for the subsequent operation; moreover, there exists a difficulty in a re-execution of the operation from an intermediate point.
The operations are entirely recorded, namely, any operation errors are also stored. As described in the article (1), it is difficult to use an intermediate item in the sequence of commands and to reexecute the operation beginning from an intermediate point. In consequence, the operator is required to be careful not to conduct any operation error, which increases mental stress on the operator.
Although a portion of the operation error may be deleted or modified by editing the program, the editing operation is onerous as described in an article (4) below.
For the same reason as for the article (2), a trial and error process cannot be inserted between steps of a sequence of operations. Consequently, even in a case where the trial and error is necessary because an output from the computer at an execution of a command is unpredictable, it is necessary to first achieve a trial and error process to confirm that a desired result is attainable such that a sequence of commands are again inputted beginning from the first command to generate a program.
A series of commands supplied by the operator are related with each other through chaining relationships therebetween. Even if the series of commands are sequentially recorded, the chaining relationships between the commands are not attained. Namely, the result of a command execution is not necessarily employed in an execution of a command immediately following the previous command.
Consequently, the operator is required to follow the chaining relationships therebetween.
For a command, it is desired in some cases to trace backward the commands executed before the command. However, for the reason of the article (4), the computer is not supplied with the command chaining relationships and hence cannot trace the command sequence in the reverse direction.
Moreover, the processing procedure generation processing method described in JP-A-63-131229 is attended with the following difficulties.
In order to create a procedure for achieving a complicated processing, the operator must sequentially select actually necessary items such as commands from a large amount of items of the operation history, which is troublesome for the operator.